class code3 {
    //除自身以外数组的乘积
    public int[] productExceptSelf(int[] nums) {
        //前缀乘积*后缀乘积
        int n = nums.length;
        int[] ret = new int[n];
        ret[0] = 1;
        int tmp = 1;

        for(int i=1;i<n;i++) {
            ret[i] = ret[i-1] * nums[i-1];
        }

        for(int i=n-2;i>=0;i--) {
            tmp *= nums[i+1];
            ret[i] *= tmp;
        }

        return ret;
    }
}